﻿#define _CRT_SECURE_NO_WARNINGS 
//循环嵌套的练习  ----素数
//找出100~200之间的素数，并打印在屏幕上。
//注：素数⼜称质数，只能被1和本⾝整除的数字。
#include <stdio.h>
//int main()
//{
//	int i = 0;
//	for (i = 100; i <= 200; i++)
//	{
//		int j = 0;
//		int flag = 1;
//		for (j = 2; j <= i - 1; j++)
//		{
//			if (i % j == 0)
//			{
//				flag = 0;  //此时不是素数  想到用一个标志来表示是否为素数 因此自然引入flag
//				break;//("flag为0表示不是素数  是1表示是素数")
//			}
//		}
//		if (flag == 1)
//			printf("%d\n", i);
//	}
//	return 0;
//}

//为了在计算上达到简化  采用数学思维来简化程序
//要考虑到任何一个数i的两个因子之中 必然有一个因子<=根号i  因此对j处理可以j<=sqrt（i）
//又考率到在100到200之间 偶数不可能为素数因此可直接排除偶数 对i进行处理 for(i=101;i<=200;i+=2)过滤掉偶数
//为了使用sqrt函数 引入头文件math.h
#include <math.h>
int main()
{
	int i = 0;
	for (i = 101; i <= 200; i += 2)
	{
		int j = 0;
		int flag = 1;
		for (j = 2; j <= sqrt(i); j++)
		{
			if (i % j == 0)
				flag = 0;
			break;
		}
		if (flag == 1)
			printf("%d\n", i);
	}
	return 0;
}